#ifndef _CROCKY_H
#define _CROCKY_H

#include "CMob.h"




class CRocky : public CMob
{
public:
	//--------------------------------------------//
	//	Constructor and Destructor for this class //
	//--------------------------------------------//
	CRocky();
	CRocky( ULONG ID , float Xpos , float Ypos , float deep , float XVelocity , float YVelocity , int width , int height );
	virtual ~CRocky();

	//-----------------------//
	//	Enum ANIMATION_STATE //
	//-----------------------//
	enum ANIMATION_STATE { ANIMATION_STATE_STAND = 0 ,
							ANIMATION_STATE_WALK = 1 ,
							ANIMATION_STATE_FALL = 2 ,
							ANIMATION_STATE_DEFEND = 3 };


	//--------------------------------//
	//	Public methods for this class //
	//--------------------------------//
	void				Init				( LPCTSTR DefineFile );
	void				SetState			( ANIMATION_STATE state );
	void				Update				( float deltaTime );
	void				Hurt				( CCharacter *pCharacter );

	ANIMATION_STATE		GetState			( );
private:
	//-----------------------------------//
	//	Private variables for this class //
	//-----------------------------------//	
	ANIMATION_STATE		m_CurrentState;			// Current state of this mobs

	float				m_fActionTime;			// Amount time that this mobs doing some action
												// example : Moving for about 3second -> stand for a while -> cont..
	float				m_fDelay;				// Delay time that this mobs can active again
	float				m_fMaxTime;				// Max time that this mobs can doing some action
	float				m_fInvulnerableTime;	// Amount time that this mobs cannot hit
	float				m_fMaxInvulTime;		// Max time that this mobs cannot hit
	float				m_fAlpha;				// Alpha chanel for effect when hurting

	//----------------------------------//
	//	Private methods for this class	//
	//----------------------------------//
	void				UpdateHurt			( float deltaTime );

};


#endif